package com.qlk.vorder.service;

import java.util.List;

import com.qlk.vorder.domain.Task;
import com.qlk.vorder.domain.query.TaskQuery;
import com.qlk.common.utils.page.PageUtil;

/**
 * TaskService接口
 * 
 * @author zhaoyanan
 * @version 2016-7-28 14:14:00
 * 
 */
public interface TaskService {

	/**
	 * 批量增加对象信息
	 * 
	 * @param taskList
	 * @return
	 */
	public boolean insert(List<Task> taskList);

	/**
	 * 单个增加对象信息
	 * 
	 * @param task
	 * @return
	 */
	public boolean insert(Task task);

	/**
	 * 更新 对象信息
	 * 
	 * @param task
	 *            对象信息对象
	 * @return false：失败 true：成功
	 */
	public boolean update(Task task);

	/**
	 * 根据查询Bean获取对象集合，无翻页
	 * 
	 * @param queryBean
	 * @return
	 */
	public List<Task> queryTaskList(TaskQuery queryBean);

	/**
	 * 根据查询Bean获取对象集合，带翻页
	 * 
	 * @param queryBean
	 * @param pageUtil
	 * @return
	 */
	public List<Task> queryTaskListWithPage(TaskQuery queryBean, PageUtil pageUtil);

	/**
	 * 根据主键删除对象信息，该处做的是逻辑删除
	 * 
	 * @param task
	 *            　
	 * @return
	 */
	public boolean delete(Task task);

	/**
	 * 根据主键获取对象信息
	 * 
	 * @param id
	 *            主键字段
	 * @return 对象信息
	 */
	public Task getTaskById(Long id);

	/**
	 * 根据主键集合批量删除对象信息，该处做的是逻辑删除
	 * 
	 * @param tasks
	 *            Task集合
	 * @return
	 */
	public boolean delete(Task[] tasks);
}
